# Build with Expat by default.
XML = expat

components = COLLADAStreamWriter COLLADABaseUtils COLLADABaseUtils/src/Math Externals/UTF COLLADAFramework COLLADASaxFrameworkLoader COLLADASaxFrameworkLoader/src/generated14 COLLADASaxFrameworkLoader/src/generated15 GeneratedSaxParser
objects = $(addsuffix /obj/*,$(components))

cwd = $(abspath ./)

CXXFLAGS = "$(addsuffix /include,$(addprefix -I$(cwd)/,$(components))) -I$(cwd)/COLLADASaxFrameworkLoader/include/generated14/ -I$(cwd)/COLLADASaxFrameworkLoader/include/generated15/ -O0 -g3 -ggdb3 -fno-inline -funsigned-char -DGENERATEDSAXPARSER_XMLPARSER_EXPAT"
#CXXFLAGS = "$(addsuffix /include,$(addprefix -I../,$(components))) -Os -DGENERATEDSAXPARSER_XMLPARSER_EXPAT"

.PHONY: all
all:
	$(MAKE) -C COLLADABaseUtils -f ../default.mk CXXFLAGS=$(CXXFLAGS)
	$(MAKE) -C COLLADABaseUtils/src/Math -f ../../../default.mk CXXFLAGS=$(CXXFLAGS) HERE=1
	$(MAKE) -C COLLADAStreamWriter -f ../default.mk CXXFLAGS=$(CXXFLAGS) EXCLUDE=COLLADASWSurface.cpp
	$(MAKE) -C COLLADAFramework -f ../default.mk CXXFLAGS=$(CXXFLAGS) XML=$(XML)
	$(MAKE) -C COLLADASaxFrameworkLoader -f ../default.mk CXXFLAGS=$(CXXFLAGS) XML=$(XML)
	$(MAKE) -C COLLADASaxFrameworkLoader/src/generated14 -f ../../../default.mk CXXFLAGS=$(CXXFLAGS) XML=$(XML) HERE=1
	$(MAKE) -C COLLADASaxFrameworkLoader/src/generated15 -f ../../../default.mk CXXFLAGS=$(CXXFLAGS) XML=$(XML) HERE=1
	$(MAKE) -C GeneratedSaxParser -f ../default.mk CXXFLAGS=$(CXXFLAGS) XML=$(XML)
	$(MAKE) -C Externals/UTF/ -f ../../default.mk CFLAGS=-Iinclude
	ar rc libOpenCollada.a $(objects)

.PHONY: clean
clean:
	rm $(objects)
